#ifndef __DIALOGS_PROVIDER_H_
#define __DIALOGS_PROVIDER_H_

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <vlc/vlc.h>
#include <vlc_interface.h>

#include <assert.h>

enum {
  OPEN_FILE_TAB,
  OPEN_DISC_TAB,
  OPEN_NETWORK_TAB,
  OPEN_CAPTURE_TAB,
  OPEN_TAB_MAX
};

class DialogsProvider 
{

public:

  static DialogsProvider *getInstance ()
   {
    assert (instance);
    return instance;
   }
   
  static DialogsProvider *getInstance (intf_thread_t *p_intf)
   {
    if (!instance)
      instance = new DialogsProvider (p_intf);
    return instance;
   }

  static void killInstance ()
   {
    if (instance) delete instance;
    instance = NULL;
   }

  virtual ~DialogsProvider ();

private:

  DialogsProvider (intf_thread_t *);
  intf_thread_t *p_intf;
  static DialogsProvider *instance;

};

#endif /* __DIALOGS_PROVIDER_H_ */

